package com.crm.system.service.couponManager;

import com.crm.common.model.DhPageInfo;
import com.crm.model.entity.couponManager.Coupon;
import com.crm.model.qo.couponManager.CouponQO;
import com.crm.model.vo.couponManager.CouponVO;

/**
 * @Author:chaifuyou
 * @Date: 2021/5/11 15:54
 */
public interface CouponService {

    /**
     * 优惠券分页列表
     * @param couponQO
     * @param pageIndex
     * @param pageSize
     * @param sortName
     * @param sortOrder
     * @return
     */
    DhPageInfo<CouponVO> selectFollowPlanList(CouponQO couponQO, Integer pageIndex, Integer pageSize, String sortName, String sortOrder);

    /**
     * 新增/修改优惠券
     * @Author renshaorong
     * @Date 2021/11/29 
     * @param couponQO
     */
    boolean addCouponOrUpdateCoupon(CouponQO couponQO);

    /***
     * @Description:查询可领取的优惠券列表
     * @Param: couponQO 参数
     * @Param: pageIndex/pageSize 页码/页号
     * @Param: sortName/sortOrder 列名/排序
     * @Author: luojie
     * @Date: 2021/5/21 11:00
     */
    DhPageInfo<CouponVO> selectAvailableCouponPageList(CouponQO couponQO, Integer pageIndex, Integer pageSize);

    /***
     * @Description: 根据优惠券id查询优惠券信息
     * @Param: couponId 优惠券id
     * @Author: luojie
     * @Date: 2021/5/21 14:08
     */
    Coupon selectCouponById(String couponId);

    CouponVO couponInfo(String couponId,String customerId);

    DhPageInfo<CouponVO> availableCouponList(CouponQO couponQO, Integer pageIndex, Integer pageSize);
}
